﻿using JESAI.MonacoRoslynComplete.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace JESAI.MonacoRoslynConplete.Storages
{
    public interface IMonacoRoslynCompleteStorage
    {
        /// <summary>
        /// 初始化储存库
        /// </summary>
        /// <returns></returns>
        Task InitAsync();
        Task CreateDatabaseAsync();

        Task AddCodeFileAsync(ICodeFileModel model);

        Task AddCodeContentAsync(ICodeFileContentModel model);
        Task UpdateCodeFileAsync(ICodeFileModel codeFile);
        Task DeleteCodeFile(string id);
        Task MoveFileOut(string id);
        Task<List<ICodeFileModel>> GetAllCodeFileDatas();
        Task<List<ICodeFileModel>> GetScriptCodeFileListDatas();
        Task<ICodeFileContentModel> GetCodeFileContent(string codeFileTreeId);
    }
}
